import 'package:json_annotation/json_annotation.dart';

import 'axis.dart';
import 'text_style.dart';



part 'parallel.g.dart';

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ParallelAxisDefault {
  var type;
  var name;
  var nameLocation;

  TextStyle? nameTextStyle;
  var nameGap;
  var nameRotate;
  var inverse;
  var boundaryGap; //be set to either true or false or ['20%', '20%']

  var min; //varber var Function
  var max; //varber var Function
  var scale;
  var splitNumber;
  var minInterval;
  var maxInterval;
  var interval;
  var logBase;
  var silent;
  var triggerEvent;
  AxisLine? axisLine;
  AxisTick? axisTick;
  MinorTick? minorTick;
  AxisLabel? axisLabel;
  List<AxisData>? data;

  ParallelAxisDefault(
      {this.type,
      this.name,
      this.nameLocation,
      this.nameTextStyle,
      this.nameGap,
      this.nameRotate,
      this.inverse,
      this.boundaryGap,
      this.min,
      this.max,
      this.scale,
      this.splitNumber,
      this.minInterval,
      this.maxInterval,
      this.interval,
      this.logBase,
      this.silent,
      this.triggerEvent,
      this.axisLine,
      this.axisTick,
      this.minorTick,
      this.axisLabel,
      this.data});


  factory ParallelAxisDefault.fromJson(Map<String, dynamic> json) => _$ParallelAxisDefaultFromJson(json);

  Map<String, dynamic> toJson() => _$ParallelAxisDefaultToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class Parallel {
  var id;
  var zlvel;
  var z;
  var left;
  var top;
  var right;
  var bottom;
  var width;
  var height;
  var layout;
  var axisExpandable;
  var axisExpandCenter;
  var axisExpandCount;
  var axisExpandWidth;
  var axisExpandTriggerOn;
  ParallelAxisDefault? parallelAxisDefault;

  Parallel(
      {this.id,
      this.zlvel,
      this.z,
      this.left,
      this.top,
      this.right,
      this.bottom,
      this.width,
      this.height,
      this.layout,
      this.axisExpandable,
      this.axisExpandCenter,
      this.axisExpandCount,
      this.axisExpandWidth,
      this.axisExpandTriggerOn,
      this.parallelAxisDefault});


  factory Parallel.fromJson(Map<String, dynamic> json) => _$ParallelFromJson(json);

  Map<String, dynamic> toJson() => _$ParallelToJson(this);
}
